#pragma once

#include <mrpt/slam/CObservation.h>

/**
 * the interface to compute the likelihood of two observations
 */
class CObservationLikelihoodEvaluator {
public:
	virtual ~CObservationLikelihoodEvaluator() {}

public:
	/**
	 * log_w = return value
	 * the larger return value, the larger likelihood
	 * assume pObs1 is true image observations
	 */
	virtual double eval(const mrpt::slam::CObservation* pObs1, const mrpt::slam::CObservation* pObs2) const = 0;
};
